<?php
include_once dirname(dirname(__FILE__)) . '/clases/class_carrito.php';
include_once dirname(dirname(__FILE__)) . '/filtro_usuario.php';
include_once dirname(dirname(__FILE__)) . '/funciones/basicas.php';
include_once dirname(dirname(__FILE__)) . '/funciones/funcionescarrito.php';
include_once dirname(dirname(__FILE__)) . '/funciones/helpers.php';

$conexion = conectar();

/**
@description, ingresa productos de cotizacion a la bd
@param $nCotizacion , Número de la cotizacion
@param $cod_cli , codigo del cliente
**/
function ingresa_productos_cotizacion($nCotizacion,$cod_cli, $carrito)
{
		$suma = 0;
		for ($i = 0 ; $i < $carrito->getnum_producto(); $i++)
		{
			if($carrito->getcod_prod($i) != -1 && $carrito->getcantidad($i) > 0)
			{
			   $codigop = $carrito->getcod_prod($i);
			   $precio = $carrito->getprecio_venta($i);
			   $descuento = $carrito->getdescuento($i);
			   $neto = $carrito->getneto($i);//neto
			   $cantidad = $carrito->getcantidad($i);
			   $iva = $carrito->getiva($i);
			   $total = $carrito->gettotal($i);
			   $nombre = $carrito->getnombre_prod($i);
			   $suma = $suma + $neto;

               //ingresa producto de la factura a la bd.
            $sql = "INSERT INTO cotizacion_producto(id_cotizacion,cod_prod,nombre,cantidad,precio_unitario,descuento,neto,iva,total)
                    VALUES ('$nCotizacion','$codigop','$nombre','$cantidad','$precio','$descuento','$neto','$iva','$total')";

            $consulta = mysql_query($sql)or die(mysql_error());

            if(!$consulta)
            {
                 return FALSE;
            }
			}
		}
      
      $iva = round($suma*0.19);
		$total = round($suma*1.19);
      //actualiza el total el neto y el iva cotizacion.
      $sql = "UPDATE cotizacion SET total='$total',neto='$suma',iva='$iva' WHERE id_cotizacion='$nCotizacion'";
      $consulta = mysql_query($sql)or die("Error al actualizar los totales de la cotizacion");
      //si la consulta es exitosa se retorna verdadero sino falso.
      if($consulta)
      {
         return TRUE;
      }
        
      return FALSE;
}

//Funcion que destruye las sesiones al terminar
function destroy()
{
   unset($_SESSION['carrito_cotizacion']);
   unset($_SESSION['c_descuento']);
   unset($_SESSION['c_pago']);
   unset($_SESSION['c_cliente']);
   unset($_SESSION['c_fecha']);
   unset($_SESSION['c_cod_cli']);
   unset($_SESSION['c_comentario']);
   unset($_SESSION['c_entrega']);

}

/* ingresa el producto seleccionado */
if( isset($_POST['ingresar']) || isset($_POST['ingresar_x']))
{
      //Datos que deben mantenerse en el formulario, se guardan en sesiones
      $_SESSION['c_fecha'] = trim($_POST['fecha']);
      $_SESSION['c_cliente'] = trim($_POST['cliente']);
      $_SESSION['c_cod_cli'] = trim($_POST['cod_cli']);
      $_SESSION['c_pago'] = trim($_POST['pago']);
		$_SESSION['c_descuento'] = trim($_POST['descuento']);
      $_SESSION['c_comentario'] = trim($_POST['comentario']);
      $_SESSION['c_entrega'] = trim($_POST['entrega']);

      //Reciben datos del producto para ingresarlos al carrito
      $descuento = $_SESSION['c_descuento'];
      $producto = trim($_POST['producto']);
      $codigop = trim($_POST['codigop']);
		$cantidad = trim($_POST['cantidad']);
		$precio = trim($_POST['precio']);

        //comprueba que no esten vacio los datos
		if( $descuento!="" && $codigop && $producto && $cantidad && $precio )
		{
			$_SESSION["carrito_cotizacion"]->introduce_producto(1,$codigop,$cantidad,$descuento,$precio,$producto,1);
         //<script>setTimeout("window.location='orden_de_compra.php'")</script><?php
		}
		else
      {
         ?><script>alert("Debe llenar todos los campos");</script><?php
		}
}
//Si presiona terminar
if(isset($_POST['terminar']) || isset($_POST['terminar_x']))
{
    //Aisgna nuevamente las sesiones si es que se han modificado
    $_SESSION['c_fecha'] = trim($_POST['fecha']);
    $_SESSION['c_cliente'] = trim($_POST['cliente']);
    $_SESSION['c_cod_cli'] = trim($_POST['cod_cli']);
    $_SESSION['c_pago'] = trim($_POST['pago']);
	 $_SESSION['c_descuento'] = trim($_POST['descuento']);
    $_SESSION['c_comentario'] = trim($_POST['comentario']);
    $_SESSION['c_entrega'] = trim($_POST['entrega']);

	 $fecha = $_SESSION['c_fecha'];
    $cliente = $_SESSION['c_cliente'];
    $cod_cli = $_SESSION['c_cod_cli'];
    $pago = $_SESSION['c_pago'];
    $descuento = $_SESSION['c_descuento'];
    $estado = "";
    $vendedor = $_SESSION['usuario'];
    $comentario = $_SESSION['c_comentario'];
    $entrega = $_SESSION['c_entrega'];


    if($cod_cli && $fecha && $pago != "" && $vendedor && $entrega)
    {
       //comprueba que hayan productos en el carrito
	    if(!$_SESSION['carrito_cotizacion']->vacio() )
	    {
         
             mysql_query("BEGIN");       
            //ingresa los datos de la orden a la BD
            $sql = "INSERT INTO cotizacion (cod_cli,fecha_emision,forma_pago,entrega,comentario,cod_vendedor)
                   VALUES ('$cod_cli',NOW(),'$pago','$entrega','$comentario','$vendedor')";
            $consulta = mysql_query($sql,$conexion)or die("Error al ingresar cotizacion");

            //Obtiene el Id de la orden de compra
            $ultimoId = mysql_query("SELECT LAST_INSERT_ID() as id FROM cotizacion",$conexion)or die("error al obtener ultimo ID");
            $nCotizacion = mysql_fetch_array($ultimoId);

            //si se ingresan exitosamente se ingresan los productos.
            if( $consulta )
            {

               $ingreso = ingresa_productos_cotizacion($nCotizacion['id'],$cod_cli, $_SESSION['carrito_cotizacion']);
               
               //Si se ingresaron los productos, se genera el pdf
               if( $ingreso )
               {
                  mysql_query("COMMIT");
                  destroy();
                  ?>
                  <html>
                  <head>
                  <title>Crear Cotizacion</title>
                  <?php include_once dirname(dirname(__FILE__)) . '/header.php'; ?>
                  </head>
                  <body>
                  <?php  dialogoImprimirPDF( "Cotizacion ingresada correctamente." , $_SESSION['BASE'] . '/cotizacion/pdf_cotizacion.php?nCotizacion=' . $nCotizacion['id'] , $_SESSION['BASE'] . '/img/printer.png' ); ?>
                  </body>
                  </html>
                  <?php
                   die();
               }
               else
               {
                    ?>
                    <script>
                    alert("Error al ingresar un producto.");
			           </script>
                    <?php
               }
            }
	    }
	    else
	    {
         ?><script>alert("No ha ingresado productos");</script><?php
	    }
    }
    else
    {
        ?><script>alert("Faltan datos");</script><?php
    }
}
//Si presiona cancelar
if(isset($_POST['cancelar']) || isset($_POST['cancelar_x']))
{
    //destruye variables de sesion y vuelve al menu.
    destroy();
}

//Si no esta creado el carrito lo crea
if( !isset($_SESSION['carrito_cotizacion']) )
{
  $_SESSION['carrito_cotizacion'] = new carrito();
}
mysql_close($conexion);
?>
       
<html>
<head>
<title>Crear Cotizacion</title>
<?php include_once dirname(dirname(__FILE__)) . '/header.php' ?>
<script language="javascript">

//Dialogo de confirmacion para cancelar o terminar una orden
function opcion(op)
{
 switch (op)
 {
  case 'terminar':
       {
	     ventana=confirm("¿Está Seguro(a) de ingresar esta Cotización?");

	     if (ventana)
	     {
	       return true;
	     }
	     else
	     {
	       return false;
	     }
	     break;
       }
  case 'cancelar':
       {
         ventana=confirm("¿Está Seguro(a) de cancelar esta Cotización?");

	      if (ventana)
	      {
	        return true;
	      }
	      else
	      {
	        return false;
	      }
	      break;
       }
   default:
       {
          return false;
          break;

	   }
 }
}

//Valida cada campo del formulario
function valida()
{
           var F=document.formulario;

		   if( vacio(F.fecha.value) == false)
		    {
                   alert("Introduzca fecha.");
				   F.fecha.focus();
                   return false
           }
		   if( vacio(F.cliente.value) == false)
		    {
                   alert("Introduzca cliente.");
				   F.cliente.focus();
                   return false
           }
		   
		   if( vacio(F.codigop.value) == false)
		    {
                   alert("Introduzca codigo producto.");
				   F.codigop.focus();
                   return false
           }
		    if( vacio(F.producto.value) == false)
		    {
                   alert("Introduzca producto.");
				   F.producto.focus();
                   return false
           }
		    if( vacio(F.precio.value) == false)
		    {
                   alert("Introduzca precio.");
				   F.precio.focus();
                   return false
           }
           if( vacio(F.cantidad.value) == false)
		    {
                   alert("Introduzca cantidad.");
				   F.cantidad.focus();
                   return false
           }
           if( vacio(F.descuento.value) == false)
		    {
                   alert("Introduzca descuento.");
				   F.descuento.focus();
                   return false
           }
           if( vacio(F.pago.value) == false)
		    {
                   alert("Introduzca pago.");
				   F.pago.focus();
                   return false
           }
           if( vacio(F.cod_cli.value) == false)
		    {
                   alert("Introduzca codigo de cliente.");
				   F.cod_cli.focus();
                   return false
           }
		   else
		    {
                  // alert("OK");
                   return true;
           }

}


</script>
<!--fin funciones javascript-->

<style type="text/css">
<!--
.style3 {font-size: 14px}
-->
</style>
</head>
<body>

<!--Formulario de cotizacion-->
<form name="formulario" action="cotizacion.php" method="post">
<div style=" position: absolute; width:100%; height: 70px; border-bottom: solid 1px;">
<div style="float: left;">
<font size="+2" color="#000000" face="Arial, Helvetica, sans-serif" ><b>Cotizacion</b></font>
</div>
<div style="float: right;">
<input type="image" src="<?php echo $_SESSION['BASE'] . '/img/ingresar.png' ?>" id="login" name="ingresar" value="Ingresar" onclick="return valida();">
<input type="image" src="<?php echo $_SESSION['BASE'] . '/img/cancelar.png' ?>" id="login" name="cancelar" value="Cancelar" onClick="return opcion('cancelar');">
<input type="image" src="<?php echo $_SESSION['BASE'] . '/img/terminar.png' ?>" id="login" name="terminar" value="Terminar" onClick="return opcion('terminar');">
<input type="image" src="<?php echo $_SESSION['BASE'] . '/img/buscar.png' ?>" id="login" onClick="javascript:show('<?php echo $_SESSION['BASE'] . '/cotizacion/buscador_cotizacion.php' ?>',600,400,1); return false;">
</div>
</div>
<div class="medidas" style="position:absolute;top:100px;left:10px;">
Fecha:<br><input type="text" name="fecha" value="<?php echo date("d-m-Y"); ?>" onFocus="blur()">
</div>
<div class="medidas" style="position:absolute;top:100px;left:240px;">
Tiempo de entrega:<br><input type="text" name="entrega" value="<?php if( isset($_SESSION['c_entrega']) ) echo $_SESSION['c_entrega']; ?>" />
</div>
<div style="position:absolute;top:150px;left:18px; width:300px;">
Cliente:<br><input size="66" name="cliente" value="<?php if( isset($_SESSION['c_cliente']) ) echo $_SESSION['c_cliente']; ?>" onfocus="blur()" />
</div>
<div class="medidas" style="position:absolute;top:180px;left:10px;">
Codigo:<br><input style="width: 100px;" type="text" id="codigop" name="codigop"  /></p>
</div>
<div class="medidas" style="position:absolute;top:180px;left:140px;">
Producto:<br><input style="width: 300px;" type="text" id="producto" name="producto" value="" /></p>
</div>
<div class="medidas" style="position:absolute;top:220px;left:10px;">
Precio:<br><input style="width: 100px;" type="text" name="precio" id="precio" value=""></p>
</div>
<div class="medidas" style="position:absolute;top:220;left:140px;">
Cantidad:<br><input style="width: 100px;" type="text" id="cantidad" name="cantidad" value="">
</div>
<div class="medidas" style="position:absolute;top:220px;left:260px">
% Desc.:<br><input style="width: 90px;" name="descuento" id="descuento" type="text" value="<?php if( isset($_SESSION['c_descuento']) ) echo $_SESSION['c_descuento']; else echo 0; ?>" size="7">
</div>
<div class="medidas" style="position:absolute;top:220px;left:370px;">
Pago:
<br>
<select id="select" name="pago" >
<?php
$forma_de_pago = array('Efectivo' => '0' , '30 Dias' => '30', '45 Dias' => '45', '60 Dias' => '60', '90 Dias' => '90');
while(list($i,$valor) = each($forma_de_pago))
{
  if($_SESSION['c_pago'] == $valor)
     echo "<option selected=selected value=" .$valor. ">" .$i. "</option>";
  else
     echo "<option value=" .$valor. ">" .$i. "</option>";
}
?>
</select>
</div>
<input type="hidden" name="cod_cli" value="<?php if( isset($_SESSION['c_cod_cli']) ) echo $_SESSION['c_cod_cli']; ?>" />

<div style="position:absolute;top:270px;left:18px;">
Comentarios:
<br /><textarea name="comentario" cols="52"><?php if( isset($_SESSION['c_comentario']) ) echo $_SESSION['c_comentario']; ?></textarea>
</div>
</form>
<!--Fin formulario de orden de compra-->

<!--Iframe que lista los productos que hay en el carrito-->
<div style="position:absolute;top:120px;left:500px; border: solid 0px;">
<iframe name="frame2" src="<?php echo $_SESSION['BASE'] . '/cotizacion/lista_carrito_cotizacion.php' ?>" frameborder="0" width="500" height="350"></iframe>
</div>
</body>
</html>